const cuttent = require('../models/delivers')
const R = require('../utils/R')
class CityListsCtl {
    async find(ctx) {
        // 每页条数
        const perPage = parseInt(ctx.query.perPage) || 10
        // 当前页
        const page = parseInt(ctx.query.page) || 1
        // 跳过条数
        const skip = (page - 1) * perPage
        // 分页 模糊搜索
        const q = new RegExp(ctx.query.q)
        // 倒序
        const data = await cuttent.find(

        ).limit(perPage).skip(skip).sort({ createdAt: -1 }).populate('positions users resumes')
        // 总条数
        const total = await cuttent.find().countDocuments()
        // 向上取整 一共有多少页
        const totalPage = Math.ceil(total / perPage)
        ctx.body = R.ok().data({
            data,
            page,
            perPage,
            total,
            totalPage,
        })
    }
    async findHistory(ctx) {
        // 每页条数
        const perPage = parseInt(ctx.query.perPage) || 10
        // 当前页
        const page = parseInt(ctx.query.page) || 1
        // 跳过条数
        const skip = (page - 1) * perPage
        let data = null
        data = await cuttent.find({
            user_id: ctx.query.user_id
        }).limit(perPage).skip(skip).sort({ createdAt: -1 }).populate('positions')
        // 总条数
        const total = await cuttent.find({
            user_id: ctx.query.user_id
        }).countDocuments()
        // 向上取整 一共有多少页
        const totalPage = Math.ceil(total / perPage)
        if (data) {
            ctx.body = R.ok().data({
                data,
                page,
                perPage,
                total,
                totalPage,
            })
            return
        }
        ctx.body = R.setResult({ status: 10000, message: '暂无记录' }).data(null)
    }

    async findById(ctx) {
        var data = await cuttent.find({ user_id: ctx.params.id }).populate('positions')
        if (!data) {
            R.setResult({ status: 10000, message: '暂无简历' }).data(null)
            return
        }
        ctx.body = R.ok().data(data)
    }
    async create(ctx) {
        ctx.verifyParams({
            user_id: { type: 'string', required: true },
            resumes_id: { type: 'string', required: true },
            positions: { type: 'string', required: true }
        })
        console.log(ctx.body)
        let data = null
        // positions._id: ctx.params.positions
        data = await cuttent.find({
            user_id: ctx.request.body.user_id,
            positions: ctx.request.body.positions
        })
        //     .populate({
        //     path: 'positions',
        //     module: 'Positions',
        //     match: {
        //         // positions: {
        //             // _id: ctx.body.positions
        //         // }
        //     }
        // })

        //     .where({
        //     _id: ctx.body.positions
        // })
        if (data) {
            ctx.body = R.setResult({ status: 10000, message: '你已投递改岗位' }).data(null)
            return
        }
        // data = await new cuttent(ctx.request.body).save()
        ctx.body = R.ok().data({
            data
            // res: ctx
        })
    }
}


module.exports = new CityListsCtl()